#ifndef __ATOMTRACE_RAYTRACER_H_
#define __ATOMTRACE_RAYTRACER_H_

//#include "Ray.h"
#include "Vector3.h"
#include "Scene.h"
namespace AtomTrace
{
    class HitRecord;
    class Ray;
    
    namespace RayTracer{
        const Ray CastRay(const Vector3 & iorigin, const Vector3 & dir, float bias = 0.01f);
        bool TraceRay(const Ray & iRay, const Scene & scene, HitRecord & hit);

        bool TraceBVH(const Ray & iRay, HitRecord & hit, int * poNodeID = 0);

        bool TraceTriangles(const Ray & iRay, int firstTriAddr, int numTri, HitRecord & hit);
    }
} // AtomTrace

#endif //__ATOMTRACE_RAYTRACER_H_

